在需求的世界裡,描述範例能有效降低團隊對需求的認知差距,但是面對一個複雜的功能,真的能把所有的範例都列舉出來嗎?等我們窮舉完所有範例,市場恐怕早就進化到另一個維度了。
所以下面我們來聊聊如何選擇性地開立範例,讓需求既清晰又不至於讓我們忙到手足無措!以下是幾個常見的方法能幫助需求更具體化,並讓團隊更清楚了解客戶的期望。
使用情境驅動
透過具體的使用情境來開立範例,例如在某個具體的場景下,描述使用者的互動流程,這有助於模擬實際情境並確保需求切合真實使用情境;常用的方式包含以下兩種:
故事名稱:身為一位影城會員,我可以在線上預訂電影票,並依據我的身分或條件選擇合適的票種」
範例:
- 使用者可以提早2星期購買電影票,並享受早鳥優惠票價。
- 使用者可以根據學生身分證明,選擇學生票。
- 65歲以上的使用者可以選擇敬老票。
- 當使用者購買超過25張電影票時,系統會自動顯示25人以上團體優惠票。
B、用例分析(Use Case)
用例名稱:預訂電影票
- 參與者:
- 主要角色:影城會員(使用者)
- 次要角色:電影票系統(系統)
- 前置條件:使用者必須在系統中註冊並登入帳號。
- 使用情境:
(1)使用者登入線上購票系統。
(2)使用者選擇想要觀看的電影。
(3)系統顯示該電影的放映時間和座位情況。
(4)使用者選擇放映時間及座位。
(5)系統顯示票價及可用的支付方式。
(6)使用者確認購買並選擇支付方式。
(7)系統處理支付,並發送確認郵件。
- 後置條件:使用者成功預訂電影票,並收到確認資訊。
- 異常情況:
- 如果使用者嘗試選擇的座位已被其他人預訂,系統應提示「該座位已被預訂,請選擇其他座位」。
- 如果支付過程中出現錯誤,系統應提供相應的錯誤消息,並允許使用者重新嘗試支付。
流程驅動
這類範例注重系統的操作流程,透過依序步驟展示系統在不同狀態下的運作方式,例如展示「從登入到完成訂單」的流程,讓團隊瞭解整個業務流程是如何流轉的。
需求情境:使用者在網站上選擇產品並提交訂單,系統需要經過多個步驟完成訂單處理,包括選擇支付方式、填寫配送資訊和最終確認訂單;範例會依照使用者的操作,描述每一個步驟如何影響系統的反應。
- 步驟一:選擇產品並放入購物車
- 使用者瀏覽網站並將所選產品放入購物車,系統顯示產品已成功加入購物車的提示。
- 範例行為:使用者點選「加入購物車」按鈕後,購物車顯示新增產品並更新總價。
- 步驟二:進入結帳頁面
- 使用者點擊購物車圖示,進入結帳流程。系統載入結帳頁面並顯示購物車中的產品列表、總價格及運費選項。
- 範例行為:使用者點選「結帳」後,系統會將頁面跳轉至結帳資訊頁。
- 步驟三:填寫配送資訊
- 使用者填寫配送地址,選擇配送方式(例如標準或快速運送),並繼續至下一步。
- 範例行為:輸入有效的地址資訊後,系統會驗證資料並更新運費和預計送達時間。
- 步驟四:選擇支付方式
- 使用者選擇支付方式(例如信用卡、銀行轉帳或電子支付),並輸入支付相關資訊。
- 範例行為:系統檢查支付資訊是否正確,若正確,允許進入確認訂單步驟。
- 步驟五:確認並提交訂單
- 使用者檢視所有訂單資訊(包含產品、配送、支付細節),若確認無誤,點選「提交訂單」。
- 範例行為:系統會處理訂單,顯示訂單號並發送確認郵件給使用者。
數據驅動
展示了系統如何處理輸入和輸出數據,對於處理大量資訊的系統特別有用,這種範例讓開發團隊更具體地看到如何在不同條件下處理資料,範例可以包含:
A、表格中的輸入與輸出數據**
| 用戶身分 |
預訂日期 |
購票數量 |
票種 |
訂單編號 |
票價總額 |
| 會員 |
提前2週 |
2張 |
早鳥票 |
001 |
NT$400 |
| 學生 |
3天前 |
1張 |
學生票 |
002 |
NT$150 |
| 敬老 |
當天 |
3張 |
敬老票 |
003 |
NT$450 |
| 普通用戶 |
1天前 |
25張 |
團體票 |
004 |
NT$3000 |
B、不同條件下系統回應的數據結果**
| 條件 |
系統回應數據結果 |
| 用戶為「學生」 |
系統回應:提供學生票價 NT$150 |
| 預訂日期為「提早2週」 |
系統回應:提供早鳥票價 NT$200 |
| 用戶超過65歲 |
系統回應:提供敬老票價 NT$180 |
| 購票數量大於25張 |
系統回應:提供團體票優惠總額 NT$3000 |
邊界條件及例外狀況
描述系統在極端條件下的行為,例如在網絡中斷、使用者輸入無效資料等情況下的處理方式,這有助於確保系統穩定性,並提升應對異常狀況的能力。
情境: 在線購物系統中,當用戶嘗試結算購物車時,系統需要處理多種邊界條件與例外狀況。
A、邊界條件:
- 最小購買量:
- 如果用戶購買的商品數量少於最低限制,例如系統規定單次購買至少1件商品,用戶不能提交空購物車。
- 範例: 用戶嘗試結算購物車,商品數量為0,系統應提示「購物車內沒有商品,無法進行結算」。
- 最大庫存量:
- 用戶選擇的商品數量不能超過庫存限制。
- 範例: 系統檢查到庫存中僅剩10件商品,而用戶選擇了15件,系統應提示「庫存不足,最多可購買10件」。
B、例外狀況:
- 支付失敗:
- 當支付系統發生錯誤時,如信用卡信息無效或餘額不足,系統應提供替代支付方式或重新輸入付款信息的選項。
- 範例: 用戶輸入的信用卡信息不正確,系統應返回「支付失敗,請確認支付信息後重試」。
- 商品下架:
- 如果用戶在結算過程中,所選商品突然下架,系統需要提醒用戶該商品無法購買。
- 範例: 用戶點擊結算按鈕後,某商品剛好在後台被下架,系統應提示「商品已下架,請移除該商品後繼續結算」。
現在,你已經掌握了各種開立範例的方法,接下來就是看你如何靈活運用了!
根據不同的故事情境,選擇最適合的範例方式,這樣一來,你的User Story不僅能讓開發團隊秒懂,還能減少「嗯?你說的是這個意思嗎?」的尷尬對話,讓團隊的彼此認知差異壓縮到零!